home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 008 / volcano.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1986-05-18  |  6.1 KB  |  226 lines

  1. 10  REM ****************************************************
  2. 20  REM "VOLCANO" A MEDIUM-RESOLUTION COLOR GRAPHICS PROGRAM
  3. 30  REM      FOR THE IBM PC - JERI GIRARD 20 AUGUST 1983
  4. 40  REM *****************************************************
  5. 50  CLS ' CLEAR SCREEN
  6. 60  SCREEN 1, 0 'SELECT MEDIUM RESOLUTION AND ENABLE COLOR
  7. 70  KEY OFF ' REM DISABLE KEY DISPLAY
  8. 80  COLOR 1,0 ' BLUE BACKGROUND, SET 0
  9. 90  LINE (0,160)-(319,160) ' BASE LINE
  10. 100  LOCATE 24,5 ' SET CURSOR
  11. 110  PRINT "A VOLCANO IS A TYPE OF MOUNTAIN."
  12. 120  PRINT
  13. 130  PRINT "BUT IT IS DIFFERENT IN AN IMPORTANT WAY."
  14. 140  REM NEXT INS. FOR VOLCANO CONE
  15. 150  GOSUB 1860 ' BUILD SCHEMATIC CONE
  16. 155  GOSUB 2190
  17. 160  LOCATE 19,5 ' SET CURSOR
  18. 170  PRINT "DEEP INSIDE THE EARTH, UNDERNEATH THE    "
  19. 190  PRINT"VOLCANO, THERE IS A POOL OF HOT LAVA.     "
  20. 200  GOSUB 2190 ' PAUSE
  21. 210  LOCATE 20,1 ' SET CURSOR
  22. 220  PRINT " SOMETIMES A VOLCANO STARTS TO RUMBLE"
  23. 230  PRINT
  24. 240  PRINT "AND SMOKE COMES OUT OF THE TOP.      "
  25. 250  LINE (152,128)-(155,79),2,BF ' LAVA
  26. 260  REM START BUILDING SMOKE CLOUD
  27. 270  CIRCLE (155,73),3
  28. 280  PAINT (155,73),3,3
  29. 290  GOSUB 2140' ANIMATE
  30. 300  CIRCLE (155,65),5
  31. 310  PAINT (155,65),3,3
  32. 320  GOSUB 2140 ' ANIMATE
  33. 330  CIRCLE (155,53),10,,,,5/18
  34. 340  PAINT (155,53),3,3
  35. 350  GOSUB 2140 ' ANIMATE
  36. 360  CIRCLE (155,48),15,,,,5/18
  37. 370  PAINT (155,48),3,3
  38. 380  GOSUB 2140 ' ANIMATE
  39. 390  CIRCLE (155,39),25,,,,5/18
  40. 400  PAINT (155,39),3,3
  41. 410  GOSUB 2140 ' ANIMATE
  42. 420  CIRCLE (155,28) ,35,,,,5/25
  43. 430  PAINT (155,28) ,3,3
  44. 440  GOSUB 2140 ' ANIMATE
  45. 450  CIRCLE (155,16),50,,,,5/45
  46. 460  PAINT (155,16) ,3,3
  47. 470  GOSUB 2140 ' ANIMATE
  48. 480  CIRCLE (155,10),100,,,,3/60
  49. 490  PAINT (155,10),3,3
  50. 500  LOCATE 20,1 ' REM SET CURSOR
  51. 510  PRINT " THIS USUALLY MEANS THAT THE HOT LAVA"
  52. 520  PRINT
  53. 530  PRINT "IS TRYING TO GET TO THE SURFACE."
  54. 540  GOSUB 2190 ' PAUSE
  55. 550  LOCATE 20,1 ' SET CURSOR
  56. 560  PRINT "LAVA USUALLY COMES OUT OF THE TOP OF   "
  57. 570  PRINT
  58. 580  PRINT "THE VOLCANO WHEN THERE IS AN ERUPTION."
  59. 590  CIRCLE (155,76),B,,,,5/20
  60. 600  PAINT (155,76),2,3
  61. 610  GOSUB 2140 ' ANIMATE
  62. 620  LINE (155,76)-(138,78),2,BF
  63. 630  GOSUB 2190 ' PAUSE
  64. 640  LOCATE 20,1 ' SET CURSOR
  65. 650  PRINT "MOST OF THE TIME THE LAVA RUNS DOWN   "
  66. 660  PRINT
  67. 670  PRINT "THE SIDE OF THE VOLCANO CONE.            "
  68. 680  DRAW "M139,76 G50 M138,76 G50"
  69. 690  GOSUB 2140 ' ANIMATE
  70. 700  CIRCLE (79,125),15,2,,,5/40
  71. 710  PAINT (80,126),2,2
  72. 720  GOSUB 2190 ' PAUSE
  73. 730  CLS ' CLEAR SCREEN
  74. 740  LINE (0,153)-(319,153),3 ' BASELINE
  75. 750  LOCATE 24,1 ' SET CURSOR
  76. 760  PRINT "BUT IF THE OPENING IN THE VOLCANO IS  "
  77. 770  PRINT
  78. 780  PRINT "BLOCKED, OR PLUGGED WITH OLD LAVA..."
  79. 790  GOSUB 1860 ' BUILD CONE
  80. 800  LINE (132,129)-(179,129),0 ' ERASE
  81. 810  PAINT (160,129),2,3
  82. 820  LINE (152,122)-(155,90),2,BF ' LAVA
  83. 830  GOSUB 2190 ' PAUSE
  84. 840  LOCATE 21,1 ' SET CURSOR
  85. 850  PRINT " THEN THE LAVA BUILDS UP SO MUCH       "
  86. 860  PRINT
  87. 870  PRINT " PRESSURE THAT THE MOUNTAIN EXPLODES!"
  88. 880  DRAW "BM153,90 H12 R27 G12 C2"
  89. 890  DRAW "BU2 P0,2"
  90. 900  LINE (142,78)-(169,78),0 ' ERASE
  91. 910  GOSUB 1960 ' SET OFF FIREWORKS
  92. 920  GOSUB 2190 ' PAUSE
  93. 930  CLS ' CLEAR THE SCREEN
  94. 940  LINE (0,140) - (319,140) , 1
  95. 950  LOCATE 20,1 ' SET CURSOR
  96. 960  PRINT "IN 1980 , MT. ST. HELENS IN WASHINGTON"
  97. 970  PRINT
  98. 980  PRINT "WAS A BEAUTIFUL PART OF THE WILDERNESS."
  99. 990  DRAW "BM0,135 R80 E50 R30 F50 R120 BM140,90 P1,1"
  100. 1000  REM DRAWING TREE TRUNKS
  101. 1010  LINE (20,135)-(22,120),3,BF
  102. 1020  LINE (25,134)-(26,120),3,BF
  103. 1030  LINE (40,134)-(42,120),3,BF
  104. 1040  LINE (200,135)-(203,120),3,BF
  105. 1050  LINE (210,136)-(211,119),3,BF
  106. 1060  LINE (230,134)-(234,119),3,BF
  107. 1070  LINE (300,135)-(301,120),3,BF
  108. 1080  REM DRAW TREE FOLIAGE
  109. 1090  CIRCLE (21,117),19,1,,,5/25
  110. 1100  PAINT (21,117),1,1
  111. 1110  CIRCLE (27,115),15,1,,,5/18
  112. 1120  PAINT (27,115),1,1
  113. 1130  CIRCLE (43,114),18,1,,,5/12
  114. 1140  PAINT (43,114),1,1
  115. 1150  CIRCLE (201,116),12,1,,,5/19
  116. 1160  PAINT (201,116),1,1
  117. 1170  CIRCLE (228,117),20,1,,,5/20
  118. 1180  PAINT (228,117),1,1
  119. 1190  CIRCLE (301,116),12,1,,,5/18
  120. 1200  PAINT (301,116),1,1
  121. 1205  GOSUB 2190
  122. 1210  LOCATE 20,1 ' SET CURSOR
  123. 1220  PRINT "EVERYONE THOUGHT IT WAS EXTINCT, BUT   "
  124. 1230  PRINT
  125. 1240  PRINT "IN MAY IT STARTED TO RUMBLE AND SMOKE."
  126. 1250  PLAY "mb T90 D0 L64                                                               DDFFEE-FFE-DDEACDACDADCABCDCC#C#DDEFFFEEC"
  127. 1260  GOSUB 2010 ' MIDDLE OF FIREWORKS
  128. 1270  REM DRAW SMOKE CLOUD
  129. 1280  CIRCLE (150,80),5,3,,,5/10
  130. 1290  PAINT (150,80),3,3
  131. 1300  GOSUB 2140 ' ANIMATE
  132. 1310  CIRCLE (145,75),3,3,,,1/2
  133. 1320  PAINT (145,75),3,3
  134. 1330  GOSUB 2140 ' ANIMATE
  135. 1340  CIRCLE (155,69),17,3,,,5/18
  136. 1350  PAINT (155,69),3,3
  137. 1360  GOSUB 2140 ' ANIMATE
  138. 1370  CIRCLE (160,60),30,3,,,5/30
  139. 1380  PAINT (160,60),3,3
  140. 1390  LOCATE 20,1 ' SET CURSOR
  141. 1400  PRINT "SUDDENLY, ONE MAY MORNING, THERE WAS"
  142. 1410  PRINT
  143. 1420  PRINT "A TERRIBLE BLAST THAT ROCKED THE COUNTY!"
  144. 1430  GOSUB 2190 ' ANIMATE
  145. 1440  FOR I=1 TO 15
  146. 1450   COLOR I,0
  147. 1480  NEXT I
  148. 1490  CLS ' CLEAR SCREEN
  149. 1500  COLOR 9,1 ' SET BACKGROUND & PALETTE OK
  150. 1510  LINE (0,153)-(319,153),3 ' BASELINE
  151. 1520  DRAW "BM0,140 C3 R80 E30 R10 F10 R15 E10 R5 F25 R140" 'CONE
  152. 1521  TILE$ = CHR$(&H55)+CHR$(&H55)+CHR$(HFF)
  153. 1525  PAINT (135,150),TILE$,3
  154. 1530  LINE (123,112)-(152,112),3
  155. 1540  PAINT (128,114),2,3
  156. 1550  REM DRAW SMOKE CLOUD
  157. 1560  CIRCLE (125,98),10,3,,,5/15
  158. 1570  PAINT (125,98),3,3
  159. 1580  CIRCLE (122,88),25,3,,,5/18
  160. 1590  PAINT (122,88),3,3
  161. 1600  GOSUB 2140 ' ANIMATE
  162. 1610  CIRCLE (115,70),40,3,,,5/20
  163. 1620  PAINT (115,70),3,3
  164. 1630  CIRCLE (129,60),30,3,,,5/15
  165. 1640  PAINT (129,60),3,3
  166. 1650  LOCATE 21,1 ' SET CURSOR
  167. 1660  PRINT "WHEN THE SMOKE CLEARED THE VOLCANO WAS"
  168. 1670  PRINT
  169. 1680  PRINT "BARE OF TREES, AND COVERED WITH ASHES."
  170. 1690  GOSUB 2190 ' PAUSE
  171. 1700  LOCATE 21,1
  172. 1710  PRINT "FIFTY PEOPLE WERE KILLED IN THE BLAST,"
  173. 1720  PRINT
  174. 1730  PRINT "PLUS HUNDREDS OF WILD ANIMALS.              "
  175. 1740  GOSUB 2190 ' PAUSE
  176. 1750  CLS
  177. 1760  LOCATE 13,5
  178. 1770  PRINT "MORAL -- THERE IS NO SUCH THING"
  179. 1780  PRINT
  180. 1785  LOCATE 15,5
  181. 1790  PRINT "AS AN EXTINCT VOLCANO."
  182. 1800  PRINT
  183. 1810  GOTO 2230 ' END PROGRAM
  184. 1820  REM *******************************************************************
  185. 1830  REM ******* SUBROUTINES ***********************************************
  186. 1840  REM **********************************************************
  187. 1850  REM
  188. 1860  REM ****BUILD SCHEMATIC CONE
  189. 1870  DRAW "BM90,128 E50 R30 F50"
  190. 1880  REM AXIS ARE HORIZONTAL, VERTICAL
  191. 1890  LINE (132,128)-(180,128),0
  192. 1900  CIRCLE (155,128),25,,,,5/18
  193. 1910  PAINT (155,129),2,3 ' RED LAVA
  194. 1920  PAINT (155,127),2,3 ' RED LAVA
  195. 1930  PAINT (155,110),1,3 ' CYAN MTN
  196. 1940  RETURN
  197. 1950  REM
  198. 1960  REM **** SET OFF FIREWORKS ****
  199. 1970    DRAW "BM155,85 C1 H15 R30 G15 BU5 P3,1" ' CYAN TRIANGLE
  200. 1980    PAINT (156,80),2,1
  201. 1990    PAINT (156,80),0,1
  202. 2000    DRAW "BM155,85 C0 H15 R30 G15"
  203. 2010    FOR I = 1 TO 20 STEP 5
  204. 2020       CIRCLE (155,60),I,2
  205. 2030         FOR J = 1 TO 30 STEP 10
  206. 2040           CIRCLE (155,60),J,3
  207. 2050          PLAY "MB T90 D0 L64 FDDFE"
  208. 2060           CIRCLE (155,60),J,0
  209. 2070         NEXT J
  210. 2080       CIRCLE (155,60),I,0
  211. 2090    NEXT I
  212. 2100    PLAY "MB T90 D0 L64 FE-E-C#E-DD"
  213. 2110    PLAY "MB T100 D0 L64 D-EDFE-e-fded-"
  214. 2120  RETURN
  215. 2130  REM
  216. 2140  REM **** ANIMATION LOOP
  217. 2150  FOR Z = 1 TO 100
  218. 2160  NEXT Z
  219. 2170  RETURN
  220. 2180  REM
  221. 2190  REM **** PAUSE LOOP
  222. 2200  FOR Z = 1 TO 3000
  223. 2210  NEXT Z
  224. 2220  RETURN
  225. 2230  END
  226.